package com.redepronik.medisys.cithis.entity;

import java.io.Serializable;
import javax.persistence.*;
import java.util.List;


/**
 * The persistent class for the responsables database table.
 * 
 */
@Entity
@Table(name="responsables")
@NamedQuery(name="Responsable.findAll", query="SELECT r FROM Responsable r")
public class Responsable implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@SequenceGenerator(name="RESPONSABLES_RESPONSABLEID_GENERATOR" )
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="RESPONSABLES_RESPONSABLEID_GENERATOR")
	@Column(unique=true, nullable=false)
	private Integer responsableid;

	@Column(nullable=false, length=50)
	private String nombre;

	//bi-directional many-to-one association to Emailresponsable
	@OneToMany(mappedBy="responsable")
	private List<EmailResponsable> emailresponsables;

	//bi-directional many-to-one association to Responsablepaciente
	@OneToMany(mappedBy="responsable")
	private List<ResponsablePaciente> responsablepacientes;

	//bi-directional many-to-one association to Telefonoresponsable
	@OneToMany(mappedBy="responsable")
	private List<TelefonoResponsable> telefonoresponsables;

	public Responsable() {
	}

	public Integer getResponsableid() {
		return this.responsableid;
	}

	public void setResponsableid(Integer responsableid) {
		this.responsableid = responsableid;
	}

	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public List<EmailResponsable> getEmailresponsables() {
		return this.emailresponsables;
	}

	public void setEmailresponsables(List<EmailResponsable> emailresponsables) {
		this.emailresponsables = emailresponsables;
	}

	public EmailResponsable addEmailresponsable(EmailResponsable emailresponsable) {
		getEmailresponsables().add(emailresponsable);
		emailresponsable.setResponsable(this);

		return emailresponsable;
	}

	public EmailResponsable removeEmailresponsable(EmailResponsable emailresponsable) {
		getEmailresponsables().remove(emailresponsable);
		emailresponsable.setResponsable(null);

		return emailresponsable;
	}

	public List<ResponsablePaciente> getResponsablepacientes() {
		return this.responsablepacientes;
	}

	public void setResponsablepacientes(List<ResponsablePaciente> responsablepacientes) {
		this.responsablepacientes = responsablepacientes;
	}

	public ResponsablePaciente addResponsablepaciente(ResponsablePaciente responsablepaciente) {
		getResponsablepacientes().add(responsablepaciente);
		responsablepaciente.setResponsable(this);

		return responsablepaciente;
	}

	public ResponsablePaciente removeResponsablepaciente(ResponsablePaciente responsablepaciente) {
		getResponsablepacientes().remove(responsablepaciente);
		responsablepaciente.setResponsable(null);

		return responsablepaciente;
	}

	public List<TelefonoResponsable> getTelefonoresponsables() {
		return this.telefonoresponsables;
	}

	public void setTelefonoresponsables(List<TelefonoResponsable> telefonoresponsables) {
		this.telefonoresponsables = telefonoresponsables;
	}

	public TelefonoResponsable addTelefonoresponsable(TelefonoResponsable telefonoresponsable) {
		getTelefonoresponsables().add(telefonoresponsable);
		telefonoresponsable.setResponsable(this);

		return telefonoresponsable;
	}

	public TelefonoResponsable removeTelefonoresponsable(TelefonoResponsable telefonoresponsable) {
		getTelefonoresponsables().remove(telefonoresponsable);
		telefonoresponsable.setResponsable(null);

		return telefonoresponsable;
	}

}